API ডকুমেন্টেশন তৈরি করা একটি গুরুত্বপূর্ণ অংশ, বিশেষত যখন আপনি একটি ওয়েব API তৈরি করেন যা বিভিন্ন ক্লায়েন্ট অ্যাপ্লিকেশন বা ব্যবহারকারীর দ্বারা অ্যাক্সেস করা হতে পারে। Swagger এবং Swashbuckle হল দুটি জনপ্রিয় টুল যা ASP.NET Core অ্যাপ্লিকেশনগুলির জন্য সহজেই API ডকুমেন্টেশন তৈরি এবং ইন্টিগ্রেট করতে সহায়তা করে। এই টুলগুলো API এর এন্ডপয়েন্টগুলো, তাদের প্যারামিটার, রিটার্ন টাইপ, এবং অন্যান্য বিস্তারিত তথ্য অটোমেটিকভাবে জেনারেট করে, যা ডেভেলপারদের এবং ব্যবহারকারীদের জন্য API ব্যবহারে সহজতা এনে দেয়।
Swagger হলো একটি ওপেন সোর্স টুলকিট যা ওয়েব সার্ভিসের জন্য ডকুমেন্টেশন তৈরি এবং API পরীক্ষার সুযোগ প্রদান করে। Swagger আপনার API এর এন্ডপয়েন্ট এবং তাদের তথ্য সরবরাহ করে এবং ব্যবহারকারীদের API ব্যবহার করার জন্য একটি ইন্টারঅ্যাকটিভ ডকুমেন্টেশন পৃষ্ঠায় পৌঁছাতে সক্ষম করে।
Swagger ইন্টারফেসটি সাধারণত একটি ওয়েব পেজ হিসেবে দেখা যায়, যেখানে আপনি API এর এন্ডপয়েন্ট দেখতে পারেন, তাদের প্যারামিটার পাঠাতে পারেন, এবং JSON অথবা XML রেসপন্স দেখতে পারেন।
Swashbuckle একটি .NET লাইব্রেরি যা ASP.NET Core অ্যাপ্লিকেশনগুলির জন্য Swagger UI এবং Swagger ডকুমেন্টেশন জেনারেট করতে ব্যবহৃত হয়। এটি আপনার API এর জন্য Swagger ডকুমেন্টেশন তৈরি এবং API টেস্টিং ইন্টারফেস প্রদান করে।
Swashbuckle স্বয়ংক্রিয়ভাবে API এর সমস্ত এন্ডপয়েন্টকে সনাক্ত করে এবং একটি UI তৈরি করে, যেখানে ডেভেলপাররা API এর ফিচারগুলো ইন্টারঅ্যাক্টিভভাবে পরীক্ষা করতে পারেন।
ASP.NET Core অ্যাপ্লিকেশনে Swagger এবং Swashbuckle ব্যবহার করতে, আপনাকে কয়েকটি সহজ ধাপ অনুসরণ করতে হবে:
প্রথমে, আপনাকে Swashbuckle.AspNetCore
NuGet প্যাকেজ ইনস্টল করতে হবে। এটি Swagger UI এবং Swagger ডকুমেন্টেশন তৈরি করার জন্য প্রয়োজনীয় লাইব্রেরি সরবরাহ করবে।
প্যাকেজ ইনস্টল করতে, Visual Studio Package Manager Console এ নিচের কমান্ডটি রান করুন:
Install-Package Swashbuckle.AspNetCore
অথবা .NET CLI ব্যবহার করলে:
dotnet add package Swashbuckle.AspNetCore
Swashbuckle ইনস্টল করার পর, আপনাকে আপনার Startup.cs
ফাইলে Swagger কনফিগারেশন করতে হবে।
Startup.cs ফাইলের ConfigureServices মেথডে Swagger সেবা কনফিগার করুন:
public void ConfigureServices(IServiceCollection services)
{
// Swagger পরিষেবা কনফিগার করা
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Title = "My API",
Version = "v1",
Description = "A simple example ASP.NET Core Web API"
});
});
}
এখানে, SwaggerDoc
মেথডের মাধ্যমে আমরা API ডকুমেন্টেশনের জন্য একটি সংস্করণ (v1) এবং এর অন্যান্য বিস্তারিত যেমন শিরোনাম এবং বর্ণনা নির্ধারণ করেছি।
Swagger UI ব্যবহারকারীকে একটি ইন্টারেক্টিভ ডকুমেন্টেশন পৃষ্ঠায় API এন্ডপয়েন্টগুলি পরীক্ষা করার সুযোগ দেয়। Swagger UI অ্যাপ্লিকেশনটি Configure
মেথডে যুক্ত করতে হবে।
Configure মেথডে Swagger UI কনফিগার করুন:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
// Swagger UI কনফিগার করা
app.UseSwagger();
// Swagger UI পেজটি কাস্টম URL পাথ এ চলানোর জন্য
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API v1");
c.RoutePrefix = string.Empty; // Swagger UI পেজটি রুট পাথ এ দেখাতে
});
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
এখানে, app.UseSwagger()
দিয়ে Swagger ডকুমেন্টেশন তৈরি হচ্ছে এবং app.UseSwaggerUI()
দিয়ে Swagger UI কনফিগার হচ্ছে। SwaggerEndpoint
এর মাধ্যমে Swagger JSON ফাইলটি এবং API সংস্করণ নির্ধারণ করা হচ্ছে।
RoutePrefix = string.Empty
ব্যবহার করে Swagger UI কে রুট URL এ দেখানো হচ্ছে, অর্থাৎ যখন আপনি অ্যাপ্লিকেশনটি চালাবেন, Swagger UI পেজটি সরাসরি http://localhost:5000
এ পাওয়া যাবে।
এখন, আপনি যখন আপনার অ্যাপ্লিকেশনটি চালাবেন, তখন Swagger UI স্বয়ংক্রিয়ভাবে আপনার API ডকুমেন্টেশন প্রদর্শন করবে। আপনি Swagger UI পেজ থেকে আপনার API এর এন্ডপয়েন্টগুলো দেখতে এবং ইন্টারঅ্যাক্টিভভাবে পরীক্ষা করতে পারবেন।
উদাহরণ:
GET
রিকোয়েস্টPOST
রিকোয়েস্টSwagger UI এর মাধ্যমে আপনি API এর এন্ডপয়েন্টে প্যারামিটার পাঠাতে পারবেন এবং রেসপন্স দেখতে পারবেন।
Swagger এবং Swashbuckle ব্যবহার করে আপনি ASP.NET Core অ্যাপ্লিকেশনের জন্য অটোমেটিক API ডকুমেন্টেশন তৈরি করতে পারবেন। এটি API ডেভেলপমেন্ট এবং টেস্টিং প্রক্রিয়াকে সহজ এবং দক্ষ করে তোলে। Swagger UI প্রদান করে একটি ইন্টারঅ্যাকটিভ ডকুমেন্টেশন, যা API ব্যবহারকারী এবং ডেভেলপারদের জন্য খুবই সহায়ক।
common.read_more